/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.foxline.model;

import br.com.foxline.atlasmobile.enums.*;
import br.com.foxline.enums.TypeProperty;
import br.com.foxline.enums.TypeRealty;
import br.com.foxline.enums.TypeTitle;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.*;

/**
 *
 * @author ely
 */
@Entity
public class Imovel implements Serializable, Cloneable {

    @Id
    @SequenceGenerator(sequenceName = "seq_imovel", name = "seq_imovel", allocationSize = 1)
    @GeneratedValue(generator = "seq_imovel", strategy = GenerationType.SEQUENCE)
    private Long id;
    @Version
    private int versao;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date createAt;
    private Boolean status;
    private Integer inscricaoCadastralD;
    private Integer inscricaoCadastralS;
    private Integer inscricaoCadastralQuadra;
    private Integer inscricaoCadastralLote;
    private Integer inscricaoCadastralUnid;
    @Enumerated(EnumType.STRING)
    private Comando comando;
    private String fatorLocalizacao;
    @OneToOne(cascade = {CascadeType.ALL}, orphanRemoval = true)
    private Endereco enderecoImovel;
    @ManyToMany
    private List<Proprietario> proprietarios;
    @OneToOne(cascade = {CascadeType.ALL}, orphanRemoval = true)
    private Endereco enderecoCorrespondencia;
    private Boolean insetoIptu;
    private Boolean insetoTsu;
    private Boolean iluminacaoPublica;
    private Boolean limpezaPublica;
    private Boolean coletaLixo;
    private Boolean calcamento;
    @OneToOne(cascade = {CascadeType.ALL}, orphanRemoval = true)
    private Dimensao dimensoes;
    private Double coordX;
    private Double coordY;
    @Enumerated(EnumType.STRING)
    private Cobertura cobertura;
    @Enumerated(EnumType.STRING)
    private EstadoConservacao estadoConservacao;
    @Enumerated(EnumType.STRING)
    private Estrutura estrutura;
    @Enumerated(EnumType.STRING)
    private Fachada fachada;
    @Enumerated(EnumType.STRING)
    private Forro forro;
    @Enumerated(EnumType.STRING)
    private InstalacoesEletricas instalacoesEletricas;
    @Enumerated(EnumType.STRING)
    private InstSanitaria instSanitaria;
    @Enumerated(EnumType.STRING)
    private Ocupacao ocupacao;
    @Enumerated(EnumType.STRING)
    private Patrimonio patrimonio;
    @Enumerated(EnumType.STRING)
    private Pedologia pedologia;
    @Enumerated(EnumType.STRING)
    private Piso piso;
    @Enumerated(EnumType.STRING)
    private Posicao posicao;
    @Enumerated(EnumType.STRING)
    private RevExterno revExterno;
    @Enumerated(EnumType.STRING)
    private SituacaoTerreno situacaoTerreno;
    @Enumerated(EnumType.STRING)
    private TipoConstrucao tipoConstrucao;
    @Enumerated(EnumType.STRING)
    private Topografia topografia;
    @Enumerated(EnumType.STRING)
    private UsoImovel usoImovel;
    @Enumerated(EnumType.STRING)
    private Utilizacao utilizacao;
    @Enumerated(EnumType.STRING)
    private Caracterizacao caracterizacao;
    // Dimensões e Confontrações
    private String frente;
    private String frenteRua;
    private String frenteMedindo;
    private String fundo;
    private String fundoRua;
    private String fundoMedindo;
    private String ladoEsquerdo;
    private String ladoEsquerdoRua;
    private String ladoEsquerdoMedindo;
    private String ladoDireito;
    private String ladoDireitoRua;
    private String ladoDireitoMedindo;
    private Boolean pagaIptu;
    private Boolean regImovel;
    private Boolean minhaCasaMinhaVida;
    private String numeroReg;
    private String tempoMoradia;
    private String tempoMoradiaMunicipio;
    @Enumerated(EnumType.STRING)
    private TipoDocumentoImovel tipoDocumentoImovel;
    @Enumerated(EnumType.STRING)
    private Vinculo vinculoTitularRip;
    @Enumerated(EnumType.STRING)
    private DominioTerra dominioTerra;
    private String rip;
    private Boolean ripNomeCadastrado;
    private Boolean titularFalecido;
    @Enumerated(EnumType.STRING)
    private ComposicaoFamiliar composicaoFamiliar;
    @Enumerated(EnumType.STRING)
    private RendaFamiliar rendaFamiliar;
    private Boolean enviado;
    private Boolean bolsaFamilia;
    private Double valorBolsaFamilia;
    @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
    private List<Coordenada> coordenadas;
    private Imovel imovel;
    @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch= FetchType.LAZY)
    @JoinTable(name = "imovel_annexcroquis")
    private List<Annex> annexCroquis;
    @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch= FetchType.LAZY)
    @JoinTable(name = "imovel_anexo")
    private List<Annex> annex;
    private String obs;
    private String groupCreate;
    private String groupUpdate;
    @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
    private List<Morador> moradores;
    @Enumerated(EnumType.STRING)
    private SituacaoImovel situacaoImovel;
    /* ------------------------------------------------- */
    @Column(name = "num_order")
    private Integer numOrder;
    @Enumerated(EnumType.STRING)
    private TypeProperty typeProperty;
    @Enumerated(EnumType.STRING)
    private TypeRealty typeRealty;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date date_create;
    private String book;
    private String complementBook;
    private String leaf;
    private String complementLeaf;
    private String title;
    @Enumerated(EnumType.STRING)
    private TypeTitle typeTitle;
    // Aforamento
    private String num_tenure;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date date_tenure;
    // Forma titulo Cartório
    private String title_notary;
    // Cartório Lavrado
    private String notary_plowed;
    private String book_notary;
    private String leaf_notary;
    private String previous_record;
    /* ------------------------------------------------- */
    // Campos para relatórios
    @Transient
    private String proprietarioField;
    @Transient
    private String textoField;
    @Transient
    private String frenteField;
    @Transient
    private String direitoField;
    @Transient
    private String fundoField;
    @Transient
    private String esquerdoField;
    @Transient
    private String perimetroField; // Esse serve para o texto completo
    @Transient
    private String texto_descricao_perimetro;
    @Transient
    private String areaField;
    @Transient
    private String perimeField; // Esse serve para o campo perímetro
    // Campo de Pendencia
    @Transient
    private String pendenciaProprietario;
    @Transient
    private String pendenciaDoc;
    @Transient
    private String pendenciaRip;
    @Transient
    private String pendenciaDimensao;
    @Transient
    private String pendenciaConfrontacao;
   
   

    public Imovel() {
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getObs() {
        return obs;
    }

    public void setObs(String obs) {
        this.obs = obs;
    }

    public List<Annex> getAnnexCroquis() {
        return annexCroquis;
    }

    public void setAnnexCroquis(List<Annex> annexCroquis) {
        this.annexCroquis = annexCroquis;
    }

    public Date getCreateAt() {
        return createAt;
    }

    public void setCreateAt(Date createAt) {
        this.createAt = createAt;
    }

    public Boolean getStatus() {
        return status;
    }

    public void setStatus(Boolean status) {
        this.status = status;
    }

    public Integer getInscricaoCadastralD() {
        return inscricaoCadastralD;
    }

    public void setInscricaoCadastralD(Integer inscricaoCadastralD) {
        this.inscricaoCadastralD = inscricaoCadastralD;
    }

    public Integer getInscricaoCadastralS() {
        return inscricaoCadastralS;
    }

    public void setInscricaoCadastralS(Integer inscricaoCadastralS) {
        this.inscricaoCadastralS = inscricaoCadastralS;
    }

    public Integer getInscricaoCadastralQuadra() {
        return inscricaoCadastralQuadra;
    }

    public void setInscricaoCadastralQuadra(Integer inscricaoCadastralQuadra) {
        this.inscricaoCadastralQuadra = inscricaoCadastralQuadra;
    }

    public Integer getInscricaoCadastralLote() {
        return inscricaoCadastralLote;
    }

    public void setInscricaoCadastralLote(Integer inscricaoCadastralLote) {
        this.inscricaoCadastralLote = inscricaoCadastralLote;
    }

    public Integer getInscricaoCadastralUnid() {
        return inscricaoCadastralUnid;
    }

    public void setInscricaoCadastralUnid(Integer inscricaoCadastralUnid) {
        this.inscricaoCadastralUnid = inscricaoCadastralUnid;
    }

    public Comando getComando() {
        return comando;
    }

    public void setComando(Comando comando) {
        this.comando = comando;
    }

    public String getFatorLocalizacao() {
        return fatorLocalizacao;
    }

    public void setFatorLocalizacao(String fatorLocalizacao) {
        this.fatorLocalizacao = fatorLocalizacao;
    }

    public Endereco getEnderecoImovel() {
        return enderecoImovel;
    }

    public void setEnderecoImovel(Endereco enderecoImovel) {
        this.enderecoImovel = enderecoImovel;
    }

    public List<Proprietario> getProprietarios() {
        return proprietarios;
    }

    public void setProprietarios(List<Proprietario> proprietarios) {
        this.proprietarios = proprietarios;
    }

    public Endereco getEnderecoCorrespondencia() {
        return enderecoCorrespondencia;
    }

    public void setEnderecoCorrespondencia(Endereco enderecoCorrespondencia) {
        this.enderecoCorrespondencia = enderecoCorrespondencia;
    }

    public Boolean getInsetoIptu() {
        return insetoIptu;
    }

    public void setInsetoIptu(Boolean insetoIptu) {
        this.insetoIptu = insetoIptu;
    }

    public Boolean getInsetoTsu() {
        return insetoTsu;
    }

    public void setInsetoTsu(Boolean insetoTsu) {
        this.insetoTsu = insetoTsu;
    }

    public Boolean getIluminacaoPublica() {
        return iluminacaoPublica;
    }

    public void setIluminacaoPublica(Boolean iluminacaoPublica) {
        this.iluminacaoPublica = iluminacaoPublica;
    }

    public Boolean getLimpezaPublica() {
        return limpezaPublica;
    }

    public void setLimpezaPublica(Boolean limpezaPublica) {
        this.limpezaPublica = limpezaPublica;
    }

    public Boolean getColetaLixo() {
        return coletaLixo;
    }

    public void setColetaLixo(Boolean coletaLixo) {
        this.coletaLixo = coletaLixo;
    }

    public Dimensao getDimensoes() {
        return dimensoes;
    }

    public void setDimensoes(Dimensao dimensoes) {
        this.dimensoes = dimensoes;
    }

    public Double getCoordX() {
        return coordX;
    }

    public void setCoordX(Double coordX) {
        this.coordX = coordX;
    }

    public Double getCoordY() {
        return coordY;
    }

    public void setCoordY(Double coordY) {
        this.coordY = coordY;
    }

    public Cobertura getCobertura() {
        return cobertura;
    }

    public void setCobertura(Cobertura cobertura) {
        this.cobertura = cobertura;
    }

    public EstadoConservacao getEstadoConservacao() {
        return estadoConservacao;
    }

    public void setEstadoConservacao(EstadoConservacao estadoConservacao) {
        this.estadoConservacao = estadoConservacao;
    }

    public Estrutura getEstrutura() {
        return estrutura;
    }

    public void setEstrutura(Estrutura estrutura) {
        this.estrutura = estrutura;
    }

    public Fachada getFachada() {
        return fachada;
    }

    public void setFachada(Fachada fachada) {
        this.fachada = fachada;
    }

    public Forro getForro() {
        return forro;
    }

    public void setForro(Forro forro) {
        this.forro = forro;
    }

    public InstalacoesEletricas getInstalacoesEletricas() {
        return instalacoesEletricas;
    }

    public void setInstalacoesEletricas(InstalacoesEletricas instalacoesEletricas) {
        this.instalacoesEletricas = instalacoesEletricas;
    }

    public InstSanitaria getInstSanitaria() {
        return instSanitaria;
    }

    public void setInstSanitaria(InstSanitaria instSanitaria) {
        this.instSanitaria = instSanitaria;
    }

    public Ocupacao getOcupacao() {
        return ocupacao;
    }

    public void setOcupacao(Ocupacao ocupacao) {
        this.ocupacao = ocupacao;
    }

    public Patrimonio getPatrimonio() {
        return patrimonio;
    }

    public void setPatrimonio(Patrimonio patrimonio) {
        this.patrimonio = patrimonio;
    }

    public Pedologia getPedologia() {
        return pedologia;
    }

    public void setPedologia(Pedologia pedologia) {
        this.pedologia = pedologia;
    }

    public Piso getPiso() {
        return piso;
    }

    public void setPiso(Piso piso) {
        this.piso = piso;
    }

    public Posicao getPosicao() {
        return posicao;
    }

    public void setPosicao(Posicao posicao) {
        this.posicao = posicao;
    }

    public RevExterno getRevExterno() {
        return revExterno;
    }

    public void setRevExterno(RevExterno revExterno) {
        this.revExterno = revExterno;
    }

    public SituacaoTerreno getSituacaoTerreno() {
        return situacaoTerreno;
    }

    public void setSituacaoTerreno(SituacaoTerreno situacaoTerreno) {
        this.situacaoTerreno = situacaoTerreno;
    }

    public TipoConstrucao getTipoConstrucao() {
        return tipoConstrucao;
    }

    public void setTipoConstrucao(TipoConstrucao tipoConstrucao) {
        this.tipoConstrucao = tipoConstrucao;
    }

    public Topografia getTopografia() {
        return topografia;
    }

    public void setTopografia(Topografia topografia) {
        this.topografia = topografia;
    }

    public UsoImovel getUsoImovel() {
        return usoImovel;
    }

    public void setUsoImovel(UsoImovel usoImovel) {
        this.usoImovel = usoImovel;
    }

    public Utilizacao getUtilizacao() {
        return utilizacao;
    }

    public void setUtilizacao(Utilizacao utilizacao) {
        this.utilizacao = utilizacao;
    }

    public Caracterizacao getCaracterizacao() {
        return caracterizacao;
    }

    public void setCaracterizacao(Caracterizacao caracterizacao) {
        this.caracterizacao = caracterizacao;
    }

    public Boolean getCalcamento() {
        return calcamento;
    }

    public void setCalcamento(Boolean calcamento) {
        this.calcamento = calcamento;
    }

    public String getFrente() {
        return frente;
    }

    public void setFrente(String frente) {
        this.frente = frente;
    }

    public String getFundo() {
        return fundo;
    }

    public void setFundo(String fundo) {
        this.fundo = fundo;
    }

    public String getLadoEsquerdo() {
        return ladoEsquerdo;
    }

    public void setLadoEsquerdo(String ladoEsquerdo) {
        this.ladoEsquerdo = ladoEsquerdo;
    }

    public String getLadoDireito() {
        return ladoDireito;
    }

    public void setLadoDireito(String ladoDireito) {
        this.ladoDireito = ladoDireito;
    }

    public Boolean getPagaIptu() {
        return pagaIptu;
    }

    public void setPagaIptu(Boolean pagaIptu) {
        this.pagaIptu = pagaIptu;
    }

    public Boolean getRegImovel() {
        return regImovel;
    }

    public void setRegImovel(Boolean regImovel) {
        this.regImovel = regImovel;
    }

    public Boolean getMinhaCasaMinhaVida() {
        return minhaCasaMinhaVida;
    }

    public void setMinhaCasaMinhaVida(Boolean minhaCasaMinhaVida) {
        this.minhaCasaMinhaVida = minhaCasaMinhaVida;
    }

    public String getNumeroReg() {
        return numeroReg;
    }

    public void setNumeroReg(String numeroReg) {
        this.numeroReg = numeroReg;
    }

    public String getTempoMoradia() {
        return tempoMoradia;
    }

    public void setTempoMoradia(String tempoMoradia) {
        this.tempoMoradia = tempoMoradia;
    }

    public TipoDocumentoImovel getTipoDocumentoImovel() {
        return tipoDocumentoImovel;
    }

    public void setTipoDocumentoImovel(TipoDocumentoImovel tipoDocumentoImovel) {
        this.tipoDocumentoImovel = tipoDocumentoImovel;
    }

    public List<Annex> getAnnex() {
        return annex;
    }

    public void setAnnex(List<Annex> annex) {
        this.annex = annex;
    }

    public Vinculo getVinculoTitularRip() {
        return vinculoTitularRip;
    }

    public void setVinculoTitularRip(Vinculo vinculoTitularRip) {
        this.vinculoTitularRip = vinculoTitularRip;
    }

    public String getRip() {
        return rip;
    }

    public void setRip(String rip) {
        this.rip = rip;
    }

    public Boolean getRipNomeCadastrado() {
        return ripNomeCadastrado;
    }

    public void setRipNomeCadastrado(Boolean ripNomeCadastrado) {
        this.ripNomeCadastrado = ripNomeCadastrado;
    }

    public Boolean getTitularFalecido() {
        return titularFalecido;
    }

    public void setTitularFalecido(Boolean titularFalecido) {
        this.titularFalecido = titularFalecido;
    }

    public DominioTerra getDominioTerra() {
        return dominioTerra;
    }

    public void setDominioTerra(DominioTerra dominioTerra) {
        this.dominioTerra = dominioTerra;
    }

    public ComposicaoFamiliar getComposicaoFamiliar() {
        return composicaoFamiliar;
    }

    public void setComposicaoFamiliar(ComposicaoFamiliar composicaoFamiliar) {
        this.composicaoFamiliar = composicaoFamiliar;
    }

    public RendaFamiliar getRendaFamiliar() {
        return rendaFamiliar;
    }

    public void setRendaFamiliar(RendaFamiliar rendaFamiliar) {
        this.rendaFamiliar = rendaFamiliar;
    }

    public Boolean getEnviado() {
        return enviado;
    }

    public void setEnviado(Boolean enviado) {
        this.enviado = enviado;
    }

    public List<Coordenada> getCoordenadas() {
        return coordenadas;
    }

    public void setCoordenadas(List<Coordenada> coordenadas) {
        this.coordenadas = coordenadas;
    }

    public String getGroupCreate() {
        return groupCreate;
    }

    public void setGroupCreate(String groupCreate) {
        this.groupCreate = groupCreate;
    }

    public String getGroupUpdate() {
        return groupUpdate;
    }

    public void setGroupUpdate(String groupUpdate) {
        this.groupUpdate = groupUpdate;
    }

    public String getBook() {
        return book;
    }

    public void setBook(String book) {
        this.book = book;
    }

    public String getBook_notary() {
        return book_notary;
    }

    public void setBook_notary(String book_notary) {
        this.book_notary = book_notary;
    }

    public String getComplementBook() {
        return complementBook;
    }

    public void setComplementBook(String complementBook) {
        this.complementBook = complementBook;
    }

    public String getComplementLeaf() {
        return complementLeaf;
    }

    public void setComplementLeaf(String complementLeaf) {
        this.complementLeaf = complementLeaf;
    }

    public Date getDate_create() {
        return date_create;
    }

    public void setDate_create(Date date_create) {
        this.date_create = date_create;
    }

    public Date getDate_tenure() {
        return date_tenure;
    }

    public void setDate_tenure(Date date_tenure) {
        this.date_tenure = date_tenure;
    }

    public String getLeaf() {
        return leaf;
    }

    public void setLeaf(String leaf) {
        this.leaf = leaf;
    }

    public String getLeaf_notary() {
        return leaf_notary;
    }

    public void setLeaf_notary(String leaf_notary) {
        this.leaf_notary = leaf_notary;
    }

    public String getNotary_plowed() {
        return notary_plowed;
    }

    public void setNotary_plowed(String notary_plowed) {
        this.notary_plowed = notary_plowed;
    }

    public Integer getNumOrder() {
        return numOrder;
    }

    public void setNumOrder(Integer numOrder) {
        this.numOrder = numOrder;
    }

    public String getNum_tenure() {
        return num_tenure;
    }

    public void setNum_tenure(String num_tenure) {
        this.num_tenure = num_tenure;
    }

    public String getPrevious_record() {
        return previous_record;
    }

    public void setPrevious_record(String previous_record) {
        this.previous_record = previous_record;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getTitle_notary() {
        return title_notary;
    }

    public void setTitle_notary(String title_notary) {
        this.title_notary = title_notary;
    }

    public TypeProperty getTypeProperty() {
        return typeProperty;
    }

    public void setTypeProperty(TypeProperty typeProperty) {
        this.typeProperty = typeProperty;
    }

    public TypeRealty getTypeRealty() {
        return typeRealty;
    }

    public void setTypeRealty(TypeRealty typeRealty) {
        this.typeRealty = typeRealty;
    }

    public TypeTitle getTypeTitle() {
        return typeTitle;
    }

    public void setTypeTitle(TypeTitle typeTitle) {
        this.typeTitle = typeTitle;
    }

    public String getTextoField() {
        return textoField;
    }

    public void setTextoField(String textoField) {
        this.textoField = textoField;
    }

    public String getFrenteRua() {
        return frenteRua;
    }

    public void setFrenteRua(String frenteRua) {
        this.frenteRua = frenteRua;
    }

    public String getFrenteMedindo() {
        return frenteMedindo;
    }

    public void setFrenteMedindo(String frenteMedindo) {
        this.frenteMedindo = frenteMedindo;
    }

    public String getFundoRua() {
        return fundoRua;
    }

    public void setFundoRua(String fundoRua) {
        this.fundoRua = fundoRua;
    }

    public String getFundoMedindo() {
        return fundoMedindo;
    }

    public void setFundoMedindo(String fundoMedindo) {
        this.fundoMedindo = fundoMedindo;
    }

    public String getLadoEsquerdoRua() {
        return ladoEsquerdoRua;
    }

    public void setLadoEsquerdoRua(String ladoEsquerdoRua) {
        this.ladoEsquerdoRua = ladoEsquerdoRua;
    }

    public String getLadoEsquerdoMedindo() {
        return ladoEsquerdoMedindo;
    }

    public void setLadoEsquerdoMedindo(String ladoEsquerdoMedindo) {
        this.ladoEsquerdoMedindo = ladoEsquerdoMedindo;
    }

    public String getLadoDireitoRua() {
        return ladoDireitoRua;
    }

    public void setLadoDireitoRua(String ladoDireitoRua) {
        this.ladoDireitoRua = ladoDireitoRua;
    }

    public String getLadoDireitoMedindo() {
        return ladoDireitoMedindo;
    }

    public void setLadoDireitoMedindo(String ladoDireitoMedindo) {
        this.ladoDireitoMedindo = ladoDireitoMedindo;
    }

    public Boolean getBolsaFamilia() {
        return bolsaFamilia;
    }

    public void setBolsaFamilia(Boolean bolsaFamilia) {
        this.bolsaFamilia = bolsaFamilia;
    }

    public String getTempoMoradiaMunicipio() {
        return tempoMoradiaMunicipio;
    }

    public void setTempoMoradiaMunicipio(String tempoMoradiaMunicipio) {
        this.tempoMoradiaMunicipio = tempoMoradiaMunicipio;
    }

    public Double getValorBolsaFamilia() {
        return valorBolsaFamilia;
    }

    public void setValorBolsaFamilia(Double valorBolsaFamilia) {
        this.valorBolsaFamilia = valorBolsaFamilia;
    }

    public List<Morador> getMoradores() {
        return moradores;
    }

    public void setMoradores(List<Morador> moradores) {
        this.moradores = moradores;
    }

    @Override
    public String toString() {
        return "Imovel{" + "id=" + id + ", createAt=" + createAt + ", status=" + status + ", inscricaoCadastralD=" + inscricaoCadastralD + ", inscricaoCadastralS=" + inscricaoCadastralS + ", inscricaoCadastralQuadra=" + inscricaoCadastralQuadra + ", inscricaoCadastralLote=" + inscricaoCadastralLote + ", inscricaoCadastralUnid=" + inscricaoCadastralUnid + ", comando=" + comando + ", fatorLocalizacao=" + fatorLocalizacao + ", enderecoImovel=" + enderecoImovel + ", proprietarios=" + proprietarios + ", enderecoCorrespondencia=" + enderecoCorrespondencia + ", insetoIptu=" + insetoIptu + ", insetoTsu=" + insetoTsu + ", iluminacaoPublica=" + iluminacaoPublica + ", limpezaPublica=" + limpezaPublica + ", coletaLixo=" + coletaLixo + ", dimensoes=" + dimensoes + ", coordX=" + coordX + ", coordY=" + coordY + ", cobertura=" + cobertura + ", estadoConservacao=" + estadoConservacao + ", estrutura=" + estrutura + ", fachada=" + fachada + ", forro=" + forro + ", instalacoesEletricas=" + instalacoesEletricas + ", instSanitaria=" + instSanitaria + ", ocupacao=" + ocupacao + ", patrimonio=" + patrimonio + ", pedologia=" + pedologia + ", piso=" + piso + ", posicao=" + posicao + ", revExterno=" + revExterno + ", situacaoTerreno=" + situacaoTerreno + ", tipoConstrucao=" + tipoConstrucao + ", topografia=" + topografia + ", usoImovel=" + usoImovel + ", utilizacao=" + utilizacao + '}';
    }

    @Override
    public Imovel clone() throws CloneNotSupportedException {
        Imovel i = (Imovel) super.clone();
        i.id = null;
        return i;
    }

    public Imovel getImovel() {
        return imovel;
    }

    public void setImovel(Imovel imovel) {
        this.imovel = imovel;
    }

    public int getVersao() {
        return versao;
    }

    public void setVersao(int versao) {
        this.versao = versao;
    }

    public String getFrenteField() {
        return frenteField;
    }

    public void setFrenteField(String frenteField) {
        this.frenteField = frenteField;
    }

    public String getDireitoField() {
        return direitoField;
    }

    public void setDireitoField(String direitoField) {
        this.direitoField = direitoField;
    }

    public String getFundoField() {
        return fundoField;
    }

    public void setFundoField(String fundoField) {
        this.fundoField = fundoField;
    }

    public String getPerimetroField() {
        return perimetroField;
    }

    public void setPerimetroField(String perimetroField) {
        this.perimetroField = perimetroField;
    }

    public String getProprietarioField() {
        return proprietarioField;
    }

    public void setProprietarioField(String proprietarioField) {
        this.proprietarioField = proprietarioField;
    }

    public String getEsquerdoField() {
        return esquerdoField;
    }

    public void setEsquerdoField(String esquerdoField) {
        this.esquerdoField = esquerdoField;
    }

    public String getTexto_descricao_perimetro() {
        return texto_descricao_perimetro;
    }

    public void setTexto_descricao_perimetro(String texto_descricao_perimetro) {
        this.texto_descricao_perimetro = texto_descricao_perimetro;
    }

    public String getAreaField() {
        return areaField;
    }

    public void setAreaField(String areaField) {
        this.areaField = areaField;
    }

    public String getPerimeField() {
        return perimeField;
    }

    public void setPerimeField(String perimeField) {
        this.perimeField = perimeField;
    }

    public SituacaoImovel getSituacaoImovel() {
        return situacaoImovel;
    }

    public void setSituacaoImovel(SituacaoImovel situacaoImovel) {
        this.situacaoImovel = situacaoImovel;
    }

    public String getPendenciaProprietario() {
        return pendenciaProprietario;
    }

    public void setPendenciaProprietario(String pendenciaProprietario) {
        this.pendenciaProprietario = pendenciaProprietario;
    }

    public String getPendenciaDoc() {
        return pendenciaDoc;
    }

    public void setPendenciaDoc(String pendenciaDoc) {
        this.pendenciaDoc = pendenciaDoc;
    }

    public String getPendenciaRip() {
        return pendenciaRip;
    }

    public void setPendenciaRip(String pendenciaRip) {
        this.pendenciaRip = pendenciaRip;
    }

    public String getPendenciaDimensao() {
        return pendenciaDimensao;
    }

    public void setPendenciaDimensao(String pendenciaDimensao) {
        this.pendenciaDimensao = pendenciaDimensao;
    }

    public String getPendenciaConfrontacao() {
        return pendenciaConfrontacao;
    }

    public void setPendenciaConfrontacao(String pendenciaConfrontacao) {
        this.pendenciaConfrontacao = pendenciaConfrontacao;
    }

   
    
    

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Imovel other = (Imovel) obj;
        if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) {
            return false;
        }
        if (this.versao != other.versao) {
            return false;
        }
        if (this.createAt != other.createAt && (this.createAt == null || !this.createAt.equals(other.createAt))) {
            return false;
        }
        if (this.status != other.status && (this.status == null || !this.status.equals(other.status))) {
            return false;
        }
        if (this.inscricaoCadastralD != other.inscricaoCadastralD && (this.inscricaoCadastralD == null || !this.inscricaoCadastralD.equals(other.inscricaoCadastralD))) {
            return false;
        }
        if (this.inscricaoCadastralS != other.inscricaoCadastralS && (this.inscricaoCadastralS == null || !this.inscricaoCadastralS.equals(other.inscricaoCadastralS))) {
            return false;
        }
        if (this.inscricaoCadastralQuadra != other.inscricaoCadastralQuadra && (this.inscricaoCadastralQuadra == null || !this.inscricaoCadastralQuadra.equals(other.inscricaoCadastralQuadra))) {
            return false;
        }
        if (this.inscricaoCadastralLote != other.inscricaoCadastralLote && (this.inscricaoCadastralLote == null || !this.inscricaoCadastralLote.equals(other.inscricaoCadastralLote))) {
            return false;
        }
        if (this.inscricaoCadastralUnid != other.inscricaoCadastralUnid && (this.inscricaoCadastralUnid == null || !this.inscricaoCadastralUnid.equals(other.inscricaoCadastralUnid))) {
            return false;
        }
        if (this.comando != other.comando) {
            return false;
        }
        if ((this.fatorLocalizacao == null) ? (other.fatorLocalizacao != null) : !this.fatorLocalizacao.equals(other.fatorLocalizacao)) {
            return false;
        }
        if (this.enderecoImovel != other.enderecoImovel && (this.enderecoImovel == null || !this.enderecoImovel.equals(other.enderecoImovel))) {
            return false;
        }
        if (this.proprietarios != other.proprietarios && (this.proprietarios == null || !this.proprietarios.equals(other.proprietarios))) {
            return false;
        }
        if (this.enderecoCorrespondencia != other.enderecoCorrespondencia && (this.enderecoCorrespondencia == null || !this.enderecoCorrespondencia.equals(other.enderecoCorrespondencia))) {
            return false;
        }
        if (this.insetoIptu != other.insetoIptu && (this.insetoIptu == null || !this.insetoIptu.equals(other.insetoIptu))) {
            return false;
        }
        if (this.insetoTsu != other.insetoTsu && (this.insetoTsu == null || !this.insetoTsu.equals(other.insetoTsu))) {
            return false;
        }
        if (this.iluminacaoPublica != other.iluminacaoPublica && (this.iluminacaoPublica == null || !this.iluminacaoPublica.equals(other.iluminacaoPublica))) {
            return false;
        }
        if (this.limpezaPublica != other.limpezaPublica && (this.limpezaPublica == null || !this.limpezaPublica.equals(other.limpezaPublica))) {
            return false;
        }
        if (this.coletaLixo != other.coletaLixo && (this.coletaLixo == null || !this.coletaLixo.equals(other.coletaLixo))) {
            return false;
        }
        if (this.calcamento != other.calcamento && (this.calcamento == null || !this.calcamento.equals(other.calcamento))) {
            return false;
        }
        if (this.dimensoes != other.dimensoes && (this.dimensoes == null || !this.dimensoes.equals(other.dimensoes))) {
            return false;
        }
        if (this.coordX != other.coordX && (this.coordX == null || !this.coordX.equals(other.coordX))) {
            return false;
        }
        if (this.coordY != other.coordY && (this.coordY == null || !this.coordY.equals(other.coordY))) {
            return false;
        }
        if (this.cobertura != other.cobertura) {
            return false;
        }
        if (this.estadoConservacao != other.estadoConservacao) {
            return false;
        }
        if (this.estrutura != other.estrutura) {
            return false;
        }
        if (this.fachada != other.fachada) {
            return false;
        }
        if (this.forro != other.forro) {
            return false;
        }
        if (this.instalacoesEletricas != other.instalacoesEletricas) {
            return false;
        }
        if (this.instSanitaria != other.instSanitaria) {
            return false;
        }
        if (this.ocupacao != other.ocupacao) {
            return false;
        }
        if (this.patrimonio != other.patrimonio) {
            return false;
        }
        if (this.pedologia != other.pedologia) {
            return false;
        }
        if (this.piso != other.piso) {
            return false;
        }
        if (this.posicao != other.posicao) {
            return false;
        }
        if (this.revExterno != other.revExterno) {
            return false;
        }
        if (this.situacaoTerreno != other.situacaoTerreno) {
            return false;
        }
        if (this.tipoConstrucao != other.tipoConstrucao) {
            return false;
        }
        if (this.topografia != other.topografia) {
            return false;
        }
        if (this.usoImovel != other.usoImovel) {
            return false;
        }
        if (this.utilizacao != other.utilizacao) {
            return false;
        }
        if (this.caracterizacao != other.caracterizacao) {
            return false;
        }
        if ((this.frente == null) ? (other.frente != null) : !this.frente.equals(other.frente)) {
            return false;
        }
        if ((this.frenteRua == null) ? (other.frenteRua != null) : !this.frenteRua.equals(other.frenteRua)) {
            return false;
        }
        if ((this.frenteMedindo == null) ? (other.frenteMedindo != null) : !this.frenteMedindo.equals(other.frenteMedindo)) {
            return false;
        }
        if ((this.fundo == null) ? (other.fundo != null) : !this.fundo.equals(other.fundo)) {
            return false;
        }
        if ((this.fundoRua == null) ? (other.fundoRua != null) : !this.fundoRua.equals(other.fundoRua)) {
            return false;
        }
        if ((this.fundoMedindo == null) ? (other.fundoMedindo != null) : !this.fundoMedindo.equals(other.fundoMedindo)) {
            return false;
        }
        if ((this.ladoEsquerdo == null) ? (other.ladoEsquerdo != null) : !this.ladoEsquerdo.equals(other.ladoEsquerdo)) {
            return false;
        }
        if ((this.ladoEsquerdoRua == null) ? (other.ladoEsquerdoRua != null) : !this.ladoEsquerdoRua.equals(other.ladoEsquerdoRua)) {
            return false;
        }
        if ((this.ladoEsquerdoMedindo == null) ? (other.ladoEsquerdoMedindo != null) : !this.ladoEsquerdoMedindo.equals(other.ladoEsquerdoMedindo)) {
            return false;
        }
        if ((this.ladoDireito == null) ? (other.ladoDireito != null) : !this.ladoDireito.equals(other.ladoDireito)) {
            return false;
        }
        if ((this.ladoDireitoRua == null) ? (other.ladoDireitoRua != null) : !this.ladoDireitoRua.equals(other.ladoDireitoRua)) {
            return false;
        }
        if ((this.ladoDireitoMedindo == null) ? (other.ladoDireitoMedindo != null) : !this.ladoDireitoMedindo.equals(other.ladoDireitoMedindo)) {
            return false;
        }
        if (this.pagaIptu != other.pagaIptu && (this.pagaIptu == null || !this.pagaIptu.equals(other.pagaIptu))) {
            return false;
        }
        if (this.regImovel != other.regImovel && (this.regImovel == null || !this.regImovel.equals(other.regImovel))) {
            return false;
        }
        if (this.minhaCasaMinhaVida != other.minhaCasaMinhaVida && (this.minhaCasaMinhaVida == null || !this.minhaCasaMinhaVida.equals(other.minhaCasaMinhaVida))) {
            return false;
        }
        if ((this.numeroReg == null) ? (other.numeroReg != null) : !this.numeroReg.equals(other.numeroReg)) {
            return false;
        }
        if ((this.tempoMoradia == null) ? (other.tempoMoradia != null) : !this.tempoMoradia.equals(other.tempoMoradia)) {
            return false;
        }
        if ((this.tempoMoradiaMunicipio == null) ? (other.tempoMoradiaMunicipio != null) : !this.tempoMoradiaMunicipio.equals(other.tempoMoradiaMunicipio)) {
            return false;
        }
        if (this.tipoDocumentoImovel != other.tipoDocumentoImovel) {
            return false;
        }
        if (this.vinculoTitularRip != other.vinculoTitularRip) {
            return false;
        }
        if (this.dominioTerra != other.dominioTerra) {
            return false;
        }
        if ((this.rip == null) ? (other.rip != null) : !this.rip.equals(other.rip)) {
            return false;
        }
        if (this.ripNomeCadastrado != other.ripNomeCadastrado && (this.ripNomeCadastrado == null || !this.ripNomeCadastrado.equals(other.ripNomeCadastrado))) {
            return false;
        }
        if (this.titularFalecido != other.titularFalecido && (this.titularFalecido == null || !this.titularFalecido.equals(other.titularFalecido))) {
            return false;
        }
        if (this.composicaoFamiliar != other.composicaoFamiliar) {
            return false;
        }
        if (this.rendaFamiliar != other.rendaFamiliar) {
            return false;
        }
        if (this.enviado != other.enviado && (this.enviado == null || !this.enviado.equals(other.enviado))) {
            return false;
        }
        if (this.bolsaFamilia != other.bolsaFamilia && (this.bolsaFamilia == null || !this.bolsaFamilia.equals(other.bolsaFamilia))) {
            return false;
        }
        if (this.valorBolsaFamilia != other.valorBolsaFamilia && (this.valorBolsaFamilia == null || !this.valorBolsaFamilia.equals(other.valorBolsaFamilia))) {
            return false;
        }
        if (this.coordenadas != other.coordenadas && (this.coordenadas == null || !this.coordenadas.equals(other.coordenadas))) {
            return false;
        }
        if (this.imovel != other.imovel && (this.imovel == null || !this.imovel.equals(other.imovel))) {
            return false;
        }
        if (this.annexCroquis != other.annexCroquis && (this.annexCroquis == null || !this.annexCroquis.equals(other.annexCroquis))) {
            return false;
        }
        if (this.annex != other.annex && (this.annex == null || !this.annex.equals(other.annex))) {
            return false;
        }
        if ((this.obs == null) ? (other.obs != null) : !this.obs.equals(other.obs)) {
            return false;
        }
        if ((this.groupCreate == null) ? (other.groupCreate != null) : !this.groupCreate.equals(other.groupCreate)) {
            return false;
        }
        if ((this.groupUpdate == null) ? (other.groupUpdate != null) : !this.groupUpdate.equals(other.groupUpdate)) {
            return false;
        }
        if (this.moradores != other.moradores && (this.moradores == null || !this.moradores.equals(other.moradores))) {
            return false;
        }
        if (this.situacaoImovel != other.situacaoImovel) {
            return false;
        }
        if (this.numOrder != other.numOrder && (this.numOrder == null || !this.numOrder.equals(other.numOrder))) {
            return false;
        }
        if (this.typeProperty != other.typeProperty) {
            return false;
        }
        if (this.typeRealty != other.typeRealty) {
            return false;
        }
        if (this.date_create != other.date_create && (this.date_create == null || !this.date_create.equals(other.date_create))) {
            return false;
        }
        if ((this.book == null) ? (other.book != null) : !this.book.equals(other.book)) {
            return false;
        }
        if ((this.complementBook == null) ? (other.complementBook != null) : !this.complementBook.equals(other.complementBook)) {
            return false;
        }
        if ((this.leaf == null) ? (other.leaf != null) : !this.leaf.equals(other.leaf)) {
            return false;
        }
        if ((this.complementLeaf == null) ? (other.complementLeaf != null) : !this.complementLeaf.equals(other.complementLeaf)) {
            return false;
        }
        if ((this.title == null) ? (other.title != null) : !this.title.equals(other.title)) {
            return false;
        }
        if (this.typeTitle != other.typeTitle) {
            return false;
        }
        if ((this.num_tenure == null) ? (other.num_tenure != null) : !this.num_tenure.equals(other.num_tenure)) {
            return false;
        }
        if (this.date_tenure != other.date_tenure && (this.date_tenure == null || !this.date_tenure.equals(other.date_tenure))) {
            return false;
        }
        if ((this.title_notary == null) ? (other.title_notary != null) : !this.title_notary.equals(other.title_notary)) {
            return false;
        }
        if ((this.notary_plowed == null) ? (other.notary_plowed != null) : !this.notary_plowed.equals(other.notary_plowed)) {
            return false;
        }
        if ((this.book_notary == null) ? (other.book_notary != null) : !this.book_notary.equals(other.book_notary)) {
            return false;
        }
        if ((this.leaf_notary == null) ? (other.leaf_notary != null) : !this.leaf_notary.equals(other.leaf_notary)) {
            return false;
        }
        if ((this.previous_record == null) ? (other.previous_record != null) : !this.previous_record.equals(other.previous_record)) {
            return false;
        }
        if ((this.proprietarioField == null) ? (other.proprietarioField != null) : !this.proprietarioField.equals(other.proprietarioField)) {
            return false;
        }
        if ((this.textoField == null) ? (other.textoField != null) : !this.textoField.equals(other.textoField)) {
            return false;
        }
        if ((this.frenteField == null) ? (other.frenteField != null) : !this.frenteField.equals(other.frenteField)) {
            return false;
        }
        if ((this.direitoField == null) ? (other.direitoField != null) : !this.direitoField.equals(other.direitoField)) {
            return false;
        }
        if ((this.fundoField == null) ? (other.fundoField != null) : !this.fundoField.equals(other.fundoField)) {
            return false;
        }
        if ((this.esquerdoField == null) ? (other.esquerdoField != null) : !this.esquerdoField.equals(other.esquerdoField)) {
            return false;
        }
        if ((this.perimetroField == null) ? (other.perimetroField != null) : !this.perimetroField.equals(other.perimetroField)) {
            return false;
        }
        if ((this.texto_descricao_perimetro == null) ? (other.texto_descricao_perimetro != null) : !this.texto_descricao_perimetro.equals(other.texto_descricao_perimetro)) {
            return false;
        }
        if ((this.areaField == null) ? (other.areaField != null) : !this.areaField.equals(other.areaField)) {
            return false;
        }
        if ((this.perimeField == null) ? (other.perimeField != null) : !this.perimeField.equals(other.perimeField)) {
            return false;
        }
        if ((this.pendenciaProprietario == null) ? (other.pendenciaProprietario != null) : !this.pendenciaProprietario.equals(other.pendenciaProprietario)) {
            return false;
        }
        if ((this.pendenciaDoc == null) ? (other.pendenciaDoc != null) : !this.pendenciaDoc.equals(other.pendenciaDoc)) {
            return false;
        }
        if ((this.pendenciaRip == null) ? (other.pendenciaRip != null) : !this.pendenciaRip.equals(other.pendenciaRip)) {
            return false;
        }
        if ((this.pendenciaDimensao == null) ? (other.pendenciaDimensao != null) : !this.pendenciaDimensao.equals(other.pendenciaDimensao)) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 5;
        hash = 97 * hash + (this.id != null ? this.id.hashCode() : 0);
        hash = 97 * hash + this.versao;
        hash = 97 * hash + (this.createAt != null ? this.createAt.hashCode() : 0);
        hash = 97 * hash + (this.status != null ? this.status.hashCode() : 0);
        hash = 97 * hash + (this.inscricaoCadastralD != null ? this.inscricaoCadastralD.hashCode() : 0);
        hash = 97 * hash + (this.inscricaoCadastralS != null ? this.inscricaoCadastralS.hashCode() : 0);
        hash = 97 * hash + (this.inscricaoCadastralQuadra != null ? this.inscricaoCadastralQuadra.hashCode() : 0);
        hash = 97 * hash + (this.inscricaoCadastralLote != null ? this.inscricaoCadastralLote.hashCode() : 0);
        hash = 97 * hash + (this.inscricaoCadastralUnid != null ? this.inscricaoCadastralUnid.hashCode() : 0);
        hash = 97 * hash + (this.comando != null ? this.comando.hashCode() : 0);
        hash = 97 * hash + (this.fatorLocalizacao != null ? this.fatorLocalizacao.hashCode() : 0);
        hash = 97 * hash + (this.enderecoImovel != null ? this.enderecoImovel.hashCode() : 0);
        hash = 97 * hash + (this.proprietarios != null ? this.proprietarios.hashCode() : 0);
        hash = 97 * hash + (this.enderecoCorrespondencia != null ? this.enderecoCorrespondencia.hashCode() : 0);
        hash = 97 * hash + (this.insetoIptu != null ? this.insetoIptu.hashCode() : 0);
        hash = 97 * hash + (this.insetoTsu != null ? this.insetoTsu.hashCode() : 0);
        hash = 97 * hash + (this.iluminacaoPublica != null ? this.iluminacaoPublica.hashCode() : 0);
        hash = 97 * hash + (this.limpezaPublica != null ? this.limpezaPublica.hashCode() : 0);
        hash = 97 * hash + (this.coletaLixo != null ? this.coletaLixo.hashCode() : 0);
        hash = 97 * hash + (this.calcamento != null ? this.calcamento.hashCode() : 0);
        hash = 97 * hash + (this.dimensoes != null ? this.dimensoes.hashCode() : 0);
        hash = 97 * hash + (this.coordX != null ? this.coordX.hashCode() : 0);
        hash = 97 * hash + (this.coordY != null ? this.coordY.hashCode() : 0);
        hash = 97 * hash + (this.cobertura != null ? this.cobertura.hashCode() : 0);
        hash = 97 * hash + (this.estadoConservacao != null ? this.estadoConservacao.hashCode() : 0);
        hash = 97 * hash + (this.estrutura != null ? this.estrutura.hashCode() : 0);
        hash = 97 * hash + (this.fachada != null ? this.fachada.hashCode() : 0);
        hash = 97 * hash + (this.forro != null ? this.forro.hashCode() : 0);
        hash = 97 * hash + (this.instalacoesEletricas != null ? this.instalacoesEletricas.hashCode() : 0);
        hash = 97 * hash + (this.instSanitaria != null ? this.instSanitaria.hashCode() : 0);
        hash = 97 * hash + (this.ocupacao != null ? this.ocupacao.hashCode() : 0);
        hash = 97 * hash + (this.patrimonio != null ? this.patrimonio.hashCode() : 0);
        hash = 97 * hash + (this.pedologia != null ? this.pedologia.hashCode() : 0);
        hash = 97 * hash + (this.piso != null ? this.piso.hashCode() : 0);
        hash = 97 * hash + (this.posicao != null ? this.posicao.hashCode() : 0);
        hash = 97 * hash + (this.revExterno != null ? this.revExterno.hashCode() : 0);
        hash = 97 * hash + (this.situacaoTerreno != null ? this.situacaoTerreno.hashCode() : 0);
        hash = 97 * hash + (this.tipoConstrucao != null ? this.tipoConstrucao.hashCode() : 0);
        hash = 97 * hash + (this.topografia != null ? this.topografia.hashCode() : 0);
        hash = 97 * hash + (this.usoImovel != null ? this.usoImovel.hashCode() : 0);
        hash = 97 * hash + (this.utilizacao != null ? this.utilizacao.hashCode() : 0);
        hash = 97 * hash + (this.caracterizacao != null ? this.caracterizacao.hashCode() : 0);
        hash = 97 * hash + (this.frente != null ? this.frente.hashCode() : 0);
        hash = 97 * hash + (this.frenteRua != null ? this.frenteRua.hashCode() : 0);
        hash = 97 * hash + (this.frenteMedindo != null ? this.frenteMedindo.hashCode() : 0);
        hash = 97 * hash + (this.fundo != null ? this.fundo.hashCode() : 0);
        hash = 97 * hash + (this.fundoRua != null ? this.fundoRua.hashCode() : 0);
        hash = 97 * hash + (this.fundoMedindo != null ? this.fundoMedindo.hashCode() : 0);
        hash = 97 * hash + (this.ladoEsquerdo != null ? this.ladoEsquerdo.hashCode() : 0);
        hash = 97 * hash + (this.ladoEsquerdoRua != null ? this.ladoEsquerdoRua.hashCode() : 0);
        hash = 97 * hash + (this.ladoEsquerdoMedindo != null ? this.ladoEsquerdoMedindo.hashCode() : 0);
        hash = 97 * hash + (this.ladoDireito != null ? this.ladoDireito.hashCode() : 0);
        hash = 97 * hash + (this.ladoDireitoRua != null ? this.ladoDireitoRua.hashCode() : 0);
        hash = 97 * hash + (this.ladoDireitoMedindo != null ? this.ladoDireitoMedindo.hashCode() : 0);
        hash = 97 * hash + (this.pagaIptu != null ? this.pagaIptu.hashCode() : 0);
        hash = 97 * hash + (this.regImovel != null ? this.regImovel.hashCode() : 0);
        hash = 97 * hash + (this.minhaCasaMinhaVida != null ? this.minhaCasaMinhaVida.hashCode() : 0);
        hash = 97 * hash + (this.numeroReg != null ? this.numeroReg.hashCode() : 0);
        hash = 97 * hash + (this.tempoMoradia != null ? this.tempoMoradia.hashCode() : 0);
        hash = 97 * hash + (this.tempoMoradiaMunicipio != null ? this.tempoMoradiaMunicipio.hashCode() : 0);
        hash = 97 * hash + (this.tipoDocumentoImovel != null ? this.tipoDocumentoImovel.hashCode() : 0);
        hash = 97 * hash + (this.vinculoTitularRip != null ? this.vinculoTitularRip.hashCode() : 0);
        hash = 97 * hash + (this.dominioTerra != null ? this.dominioTerra.hashCode() : 0);
        hash = 97 * hash + (this.rip != null ? this.rip.hashCode() : 0);
        hash = 97 * hash + (this.ripNomeCadastrado != null ? this.ripNomeCadastrado.hashCode() : 0);
        hash = 97 * hash + (this.titularFalecido != null ? this.titularFalecido.hashCode() : 0);
        hash = 97 * hash + (this.composicaoFamiliar != null ? this.composicaoFamiliar.hashCode() : 0);
        hash = 97 * hash + (this.rendaFamiliar != null ? this.rendaFamiliar.hashCode() : 0);
        hash = 97 * hash + (this.enviado != null ? this.enviado.hashCode() : 0);
        hash = 97 * hash + (this.bolsaFamilia != null ? this.bolsaFamilia.hashCode() : 0);
        hash = 97 * hash + (this.valorBolsaFamilia != null ? this.valorBolsaFamilia.hashCode() : 0);
        hash = 97 * hash + (this.coordenadas != null ? this.coordenadas.hashCode() : 0);
        hash = 97 * hash + (this.imovel != null ? this.imovel.hashCode() : 0);
        hash = 97 * hash + (this.annexCroquis != null ? this.annexCroquis.hashCode() : 0);
        hash = 97 * hash + (this.annex != null ? this.annex.hashCode() : 0);
        hash = 97 * hash + (this.obs != null ? this.obs.hashCode() : 0);
        hash = 97 * hash + (this.groupCreate != null ? this.groupCreate.hashCode() : 0);
        hash = 97 * hash + (this.groupUpdate != null ? this.groupUpdate.hashCode() : 0);
        hash = 97 * hash + (this.moradores != null ? this.moradores.hashCode() : 0);
        hash = 97 * hash + (this.situacaoImovel != null ? this.situacaoImovel.hashCode() : 0);
        hash = 97 * hash + (this.numOrder != null ? this.numOrder.hashCode() : 0);
        hash = 97 * hash + (this.typeProperty != null ? this.typeProperty.hashCode() : 0);
        hash = 97 * hash + (this.typeRealty != null ? this.typeRealty.hashCode() : 0);
        hash = 97 * hash + (this.date_create != null ? this.date_create.hashCode() : 0);
        hash = 97 * hash + (this.book != null ? this.book.hashCode() : 0);
        hash = 97 * hash + (this.complementBook != null ? this.complementBook.hashCode() : 0);
        hash = 97 * hash + (this.leaf != null ? this.leaf.hashCode() : 0);
        hash = 97 * hash + (this.complementLeaf != null ? this.complementLeaf.hashCode() : 0);
        hash = 97 * hash + (this.title != null ? this.title.hashCode() : 0);
        hash = 97 * hash + (this.typeTitle != null ? this.typeTitle.hashCode() : 0);
        hash = 97 * hash + (this.num_tenure != null ? this.num_tenure.hashCode() : 0);
        hash = 97 * hash + (this.date_tenure != null ? this.date_tenure.hashCode() : 0);
        hash = 97 * hash + (this.title_notary != null ? this.title_notary.hashCode() : 0);
        hash = 97 * hash + (this.notary_plowed != null ? this.notary_plowed.hashCode() : 0);
        hash = 97 * hash + (this.book_notary != null ? this.book_notary.hashCode() : 0);
        hash = 97 * hash + (this.leaf_notary != null ? this.leaf_notary.hashCode() : 0);
        hash = 97 * hash + (this.previous_record != null ? this.previous_record.hashCode() : 0);
        hash = 97 * hash + (this.proprietarioField != null ? this.proprietarioField.hashCode() : 0);
        hash = 97 * hash + (this.textoField != null ? this.textoField.hashCode() : 0);
        hash = 97 * hash + (this.frenteField != null ? this.frenteField.hashCode() : 0);
        hash = 97 * hash + (this.direitoField != null ? this.direitoField.hashCode() : 0);
        hash = 97 * hash + (this.fundoField != null ? this.fundoField.hashCode() : 0);
        hash = 97 * hash + (this.esquerdoField != null ? this.esquerdoField.hashCode() : 0);
        hash = 97 * hash + (this.perimetroField != null ? this.perimetroField.hashCode() : 0);
        hash = 97 * hash + (this.texto_descricao_perimetro != null ? this.texto_descricao_perimetro.hashCode() : 0);
        hash = 97 * hash + (this.areaField != null ? this.areaField.hashCode() : 0);
        hash = 97 * hash + (this.perimeField != null ? this.perimeField.hashCode() : 0);
        hash = 97 * hash + (this.pendenciaProprietario != null ? this.pendenciaProprietario.hashCode() : 0);
        hash = 97 * hash + (this.pendenciaDoc != null ? this.pendenciaDoc.hashCode() : 0);
        hash = 97 * hash + (this.pendenciaRip != null ? this.pendenciaRip.hashCode() : 0);
        hash = 97 * hash + (this.pendenciaDimensao != null ? this.pendenciaDimensao.hashCode() : 0);
        hash = 97 * hash + (this.pendenciaConfrontacao != null ? this.pendenciaConfrontacao.hashCode() : 0);
        return hash;
    }
    
}
